package com.example.demoexample.utils;

/**
 * 自己测试用的
 */
public class MathUtils {
    /**
     * 比较两个数的大小
     *
     * @return x > y ; x == y; x < y.  return 1 ;0 ;-1
     */
    public int compareTo(Integer x, Integer y) {
        return x.compareTo(y);
    }

    /**
     * @param s 要转化的值
     * @param x x>2&&x<32 否则会报错  x 给定的指定的基数  例如113 10   113 = 1*10*10 + 1*10 + 3
     * @return 还存在 parseDouble 等
     */
    public int parseInt(String s, int x) {
        return Integer.parseInt(s, x);
    }

    /**
     * 一个数进行上舍入，返回值大于或等于给定的参数，类型为双精度浮点型
     *
     * @param s 参数double 或 float 的原生数据类型
     * @return 返回 double 类型，返回值大于或等于给定的参数
     */
    public double ceil(double s) {
        return Math.ceil(s);
    }

    /**
     * 可对一个数进行下舍入，返回给定参数最大的整数，该整数小于或等给定的参数
     *
     * @param s 参数 double 或 float 的原生数据类型。
     * @return 返回 double 类型数组，小于或等于给定的参数。
     */
    public double floor(double s) {
        return Math.floor(s);
    }

    /**
     * 返回与参数最接近的整数。返回类型为double。
     *
     * @param b double 原始数据类型。
     * @return
     */
    public double rint(double b) {
        return Math.rint(b);
    }

    /**
     * 四舍五入
     * @param b
     * @return 返回一个最接近的int、long型值，方法会指定返回的数据类型。
     */
    public long round(double b) {
        long round = Math.round(b);
        return round;
    }

    /**
     * 返回一个随机数
     * 随机数范围为 0.0 =< Math.random < 1.0
     * @return
     */
    public double random(){
        return Math.random();
    }



}
